<?php
/**
 * Created By
 * User Darren
 * Date 2020/4/29/029
 * Time 11:22
 * 生成二维码
 */

namespace app\common;

use Endroid\QrCode\QrCode;
use think\Exception;
use app\common\InstanceTrait;

class QrCodeTools
{
    use InstanceTrait;

    /*
     * 生成二维码图片
     * @param  $content  可以为url也可以为文字
     * @param  $watermark  水印logo地址
     * @param  $max 水印大小
     */
    public function qrCode($content, $watermark, $max)
    {
        $sha1 = sha1($content);
        $qrcode_dir = RUNTIME_PATH . 'temp/';
        if (!file_exists($qrcode_dir)) {
            mkdir($qrcode_dir, 0777, true);
        }
        $file_name = $qrcode_dir . $sha1 . '.png';
        if (is_file($file_name)) {
            return $file_name;
        } else {
            $qrCode = new QrCode($content);
            if (!empty($watermark)) {
                $qrCode->setLogoPath($watermark); //logo水印图片的所在的路径
                $qrCode->setLogoWidth($max); //设置logo水印的大小，单位px ，参数如果是一个int数字等比例缩放
            }
            $qrCode->writeFile($file_name);
            $qrCode->writeString();
            return $file_name;
        }
    }
}
